package lang.System;

import java.util.Arrays;
import java.util.Date;

/**
 * @author xiaoming
 * @version 1.0
 * @date 2018/11/18 0:33
 * java System中的一些方法
 **/
public class JavaSystem {
    public static void main(String[] args) {
        /*
        1. 数组拷贝
         */
        int[] arr1 = {1,2,3,4};
        int[] arr2 = {5,6,7,8};
        // 从arr1的第0个元素开始向arr2中第2位拷贝1个元素
        System.arraycopy(arr1,0,arr2,2,1);
        // 结果: arr2 : 5 6 1 8
        //System.out.println(Arrays.toString(arr2));
        /*
        2.返回毫秒数
        同Date 的getTime(); 但是currentTimeMillis()读取本地操作系统时间, 可能有精度的偏差
         */
        long m = System.currentTimeMillis();

        /*
        3. 获取系统属性
         */
        // 获取所有系统属性
        System.getProperties();
        // 获取指定属性
        System.getProperty("java.version");

        /*
        4. 运行垃圾回收器, 只是向系统发起请求
         */
        System.gc();

        /*
        5. 退出虚拟机, 参数状态码 非0为异常退出
         */
        //System.exit(0);

        /*
        6.纳秒, (注意到源代码中用了native这个关键字)
         */
        System.out.println(System.nanoTime());
    }
}
